/**
 * 输入一个英文句子，翻转句子中单词的顺序，但单词内字符的顺序不变。为简单起见，标点符号和普通字母一样处理。
 * 例如输入字符串"I am a student. "，则输出"student. a am I"。
 */

// 双指针 （时间复杂度 O(N) 空间复杂度 O(N)）

var reverseWords = function(s) {
    s = s.trim();
    let i = j = s.length - 1;
    let res = [];
    while (i >= 0) {
        while (i >= 0 && s[i] !== ' ') {
            i--;
        }
        res.push(s.slice(i + 1, j + 1));
        while (s[i] === ' ') {
            i--;
        }
        j = i;
    }
    return res.join(' ');
};